The present invention relates to a program and method used by a navigation system installed in a vehicle to determine in real time the position and heading of the vehicle relative to data contained in a database that represents the road network on which the vehicle is traveling.
In-vehicle navigation systems provide a variety of useful features to end users (i.e., the drivers and/or passengers of the vehicles in which the navigation systems are installed). Included among the features that are provided by some in-vehicle navigation systems are route calculation, route guidance, emergency roadside services, electronic yellow pages, and so on. In order to provide these kinds of features, in-vehicle navigation systems use geographic data. The geographic data may be stored in the vehicle in which the in-vehicle navigation system is installed or alternatively, some or all of the geographic data may be stored remotely and made available to the navigation system in the vehicle through a wireless communication system which may be part of the navigation system. The geographic data include information about features in a covered geographic region. The geographic data include information about the location of roads, the speed limits along roads, turn restrictions at intersections, the names of roads, the address ranges along roads, the locations of points of interest, and so on.
Some of the features provided by in-vehicle navigation systems require that the position of the vehicle be determined. There are several considerations related to determining the position of the vehicle. For example, a GPS system may be used to obtain the geographic coordinates of the vehicle. However, the geographic coordinates only indicate the position of the vehicle relative to the surface of the earth. For some of the features provided by in-vehicle navigation systems, a means is required to determine the vehicle position relative to the road network represented by the geographic database used by the in-vehicle navigation system. In other words, if the vehicle is located on a road segment, a means is required to identify the road segment represented by data contained in the geographic database used by the in-vehicle navigation system, and position and direction of the vehicle along the represented road segment. Once the vehicle position is determined relative to the road segment represented by the geographic database, programming in the in-vehicle navigation system can be used to provide various features, such as determining a route to a desired destination, providing maneuvering instructions for reaching the destination, identifying the closest restaurant or gas station relative to the vehicle position, displaying a map of the area around the vehicle, and so on.
In order to determine a vehicle position relative to roads represented by data in the geographic database, a navigation system can use data output from a GPS system and inertial sensors. However, the outputs of GPS systems and inertial sensors may include measurement errors that may yield incorrect positions and headings.
U.S. patent application Ser. No. 09/276,377, filed Mar. 25, 1999, discloses a method for determining a vehicle position relative to a road segment represented by data in a geographic database used by a vehicle navigation system. The method disclosed in Ser. No. 09/276,377 works well for many kinds of roads. However, there continues to be room for improvements. Accordingly, there is a need for an improved vehicle positioning program and method.
To address these and other objectives, the present invention comprises a program and method for determining position and heading of a vehicle relative to a road network represented by a geographic database. A dead-reckoned position and heading are determined along a plurality of road segments in the road network using sensor measurements obtained over a distance traveled by the vehicle. A vehicle trajectory history is formed and continuously updated. The vehicle trajectory history includes sensor-derived data representing the vehicle trajectory over a relatively small, chosen distance. The sensor-derived data in the vehicle trajectory history include total turn (i.e., heading change of the vehicle), vehicle state (e.g., travelling straight, turning or reversing in turn direction within a specified small distance) and type of vehicle maneuver. These data represent the trajectory of the vehicle for that chosen distance. Corresponding data for the same distance interval are also obtained from GPS measurements and the road database. Using the data in the vehicle trajectory history and the corresponding data from the GPS and road database, a corrected dead-reckoned position and heading are determined. In addition, using the data in the vehicle trajectory history and the corresponding data from the GPS and the road database, bias and scale factor correction parameters for the sensors are also determined.